import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/arkui/FrameNode.d.ts',
  content: "/*\n * Copyright (c) 2023 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit ArkUI\n */\nimport { UIContext } from '../@ohos.arkui.UIContext';\nimport { RenderNode } from './RenderNode';\nimport { Size, Position, Edges, LengthMetrics, SizeT } from './Graphics';\nimport { DrawContext } from './Graphics';\nimport { ComponentContent } from './ComponentContent';\n/**\n * Layout constraint, include the max size, the min size and the reference size for children to calculate percent.\n *\n * @interface LayoutConstraint\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 12\n */\ndeclare interface LayoutConstraint {\n    /**\n     * MaxSize\n     *\n     * @type { Size }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    maxSize: Size;\n    /**\n     * MinSize\n     *\n     * @type { Size }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    minSize: Size;\n    /**\n     * PercentReference, if the size unit of the child nodes is percentage, then they use PercentReference to calculate\n     * the px size.\n     *\n     * @type { Size }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    percentReference: Size;\n}\n/**\n * Defines the cross-language options.\n * Provides options for configuring or querying the cross-language access permissions for a FrameNode.\n * For example, for nodes created using ArkTS, this API can control whether non-ArkTS languages are allowed to\n * access or modify the properties of these nodes.\n *\n * @interface CrossLanguageOptions\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 15\n */\ndeclare interface CrossLanguageOptions {\n    /**\n     * Defines if it enables setting attributes cross-language. Default value is false.\n     *\n     * @type { boolean }\n     * @default false\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    attributeSetting?: boolean;\n}\n/**\n * The interaction event binding status information on the component.\n *\n * @interface InteractionEventBindingInfo\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 19\n */\ndeclare interface InteractionEventBindingInfo {\n    /**\n     * Whether to bind events declaratively.\n     *\n     * @type { boolean }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 19\n     */\n    baseEventRegistered: boolean;\n    /**\n     * Whether to bind events in an imperative FrameNode mode.\n     *\n     * @type { boolean }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 19\n     */\n    nodeEventRegistered: boolean;\n    /**\n     * Whether to bind the event as an imperative NativeNode.\n     *\n     * @type { boolean }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 19\n     */\n    nativeEventRegistered: boolean;\n    /**\n     * Whether the component binds built-in event.\n     *\n     * @type { boolean }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 19\n     */\n    builtInEventRegistered: boolean;\n}\n/**\n * Enum for the expand mode.\n *\n * @enum { number }\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 15\n */\nexport enum ExpandMode {\n    /**\n     * Do not expand the children of node.\n     * The child nodes of the current FrameNode are not expanded. If the FrameNode contains LazyForEach child nodes,\n     * the child nodes are not expanded when the nodes in the main tree are being obtained.\n     * The child node sequence numbers are calculated based on the nodes in the main tree.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    NOT_EXPAND = 0,\n    /**\n     * Expand the children of node.\n     * The child nodes of the current FrameNode are expanded. If the FrameNode contains LazyForEach child nodes,\n     * all child nodes are expanded when being obtained.\n     * The child node sequence numbers are calculated based on all child nodes.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    EXPAND = 1,\n    /**\n     * Expand the children of node if needed.\n     * The child nodes of the current FrameNode are expanded on demand. If the FrameNode contains LazyForEach child nodes,\n     * the child nodes are not expanded when the nodes in the main tree are being obtained, but are expanded when nodes\n     * not in the main tree are being obtained. The child node sequence numbers are calculated based on all child nodes.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    LAZY_EXPAND = 2\n}\n/**\n * Enum for the UI state of one component, which is used for handling of state style.\n * @enum { number }\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 20\n */\nexport enum UIState {\n    /**\n     * The normal state.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n    */\n    NORMAL = 0,\n    /**\n     * The pressed state.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n    */\n    PRESSED = 1 << 0,\n    /**\n     * The focused state.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n    */\n    FOCUSED = 1 << 1,\n    /**\n     * The disabled state.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n    */\n    DISABLED = 1 << 2,\n    /**\n     * The selected state, this state is only supported by some specific kind of component,\n     * they are Checkbox, Radio, Toggle and List/Grid/MenuItem, please check the StateStyles docs for details.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    SELECTED = 1 << 3\n}\n/**\n * UI state change handling function, it returns the current UI states, the value is the result\n * of all current state enumeration values or calculations, and you can determine the state\n * by performing the & operation as follows。\n *    if (currentStates & UIState.PRESSED == UIState.PRESSED)\n * But, please be awared, for the normal state check, the equal should be used directly.\n *    if (currentStates == UIState.NORMAL)\n *\n * @typedef { function } UIStatesChangeHandler\n * @param { FrameNode } node - Current node which is triggering the state change.\n * @param { number } currentUIStates - Current UI states when the handler is triggered.\n *\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 20\n */\ndeclare type UIStatesChangeHandler = (node: FrameNode, currentUIStates: number) => void;\n/**\n * Defines FrameNode.\n *\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @since 11\n */\n/**\n * Defines FrameNode.\n *\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 12\n */\nexport class FrameNode {\n    /**\n     * Constructor.\n     * Constructor used to create a FrameNode.\n     *\n     * @param { UIContext } uiContext - uiContext used to create the FrameNode\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Constructor.\n     * Constructor used to create a FrameNode.\n     *\n     * @param { UIContext } uiContext - uiContext used to create the FrameNode\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    constructor(uiContext: UIContext);\n    /**\n     * Get the RenderNode in FrameNode.\n     *\n     * @returns { RenderNode | null } - Returns a RenderNode inside the FrameNode, or null if not contained.\n     * If the current FrameNode does not hold any RenderNode, null is returned.\n     * If the current FrameNode is a node created by a declarative component, null is returned.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @since 11\n     */\n    /**\n     * Get the RenderNode in FrameNode.\n     *\n     * @returns { RenderNode | null } - Returns a RenderNode inside the FrameNode, or null if not contained.\n     * If the current FrameNode does not hold any RenderNode, null is returned.\n     * If the current FrameNode is a node created by a declarative component, null is returned.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getRenderNode(): RenderNode | null;\n    /**\n     * Return a flag to indicate whether the current FrameNode can be modified. Indicates whether the FrameNode supports appendChild, insertChildAfter, removeChild, clearChildren.\n     *\n     * @returns { boolean } - Returns true if the FrameNode can be modified, otherwise return false.\n     * When false is returned, the FrameNode does not support the appendChild, insertChildAfter, removeChild,\n     * and clearChildren operations.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    isModifiable(): boolean;\n    /**\n     * Add child to the end of the FrameNode's children.\n     * If this FrameNode is not modifiable, an exception is thrown.\n     * When appendChild is called, typeNode validates the type or number of child nodes.\n     * If the validation fails, an exception is thrown. For specific limitations, see typeNode.\n     *\n     * @param { FrameNode } node - The node will be added.\n     * The child node cannot be one created declaratively, which is not modifiable.\n     * Only declarative nodes obtained from a BuilderNode can be used as child nodes.\n     * If the child node does not meet the specifications, an exception is thrown.\n     * The FrameNode cannot have a parent node. Otherwise, an exception is thrown.\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    appendChild(node: FrameNode): void;\n    /**\n     * Add child to the current FrameNode.\n     * If this FrameNode is not modifiable, an exception is thrown.\n     *\n     * @param { FrameNode } child - The node will be added.\n     * The child node cannot be a declarative node, that is, a FrameNode that cannot be modified.\n     * Only declarative nodes obtained from a BuilderNode can be used as child nodes.\n     * If the child node does not meet the specifications, an exception is thrown.\n     * The child node cannot have a parent node. Otherwise, an exception is thrown.\n     * @param { FrameNode | null } sibling - The new node is added after this node. When sibling is null, insert node as the first children of the node.\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    insertChildAfter(child: FrameNode, sibling: FrameNode | null): void;\n    /**\n     * Remove child from the current FrameNode.\n     * If this FrameNode is not modifiable, an exception is thrown.\n     *\n     * @param { FrameNode } node - The node will be removed.\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    removeChild(node: FrameNode): void;\n    /**\n     * Clear children of the current FrameNode.\n     * If this FrameNode is not modifiable, an exception is thrown.\n     *\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    clearChildren(): void;\n    /**\n     * Get a child of the current FrameNode by index.\n     *\n     * @param { number } index - The index of the desired node in the children of FrameNode.\n     * @returns { FrameNode | null } - Returns a FrameNode. When the required node does not exist, returns null.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getChild(index: number): FrameNode | null;\n    /**\n     * Get a child of the current FrameNode by index.\n     *\n     * @param { number } index - The index of the desired node in the children of FrameNode.\n     * @param { ExpandMode } expandMode - The expand mode. Default value is ExpandMode.EXPAND.\n     * @returns { FrameNode | null } - Returns a FrameNode. When the required node does not exist, returns null.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    getChild(index: number, expandMode?: ExpandMode): FrameNode | null;\n    /**\n     * Get the index of the current FrameNode's first child node which is on the tree.\n     * The child node sequence numbers are calculated based on all child nodes.\n     *\n     * @returns { number } - Returns the index of the current FrameNode's first child node which is on the tree.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    getFirstChildIndexWithoutExpand(): number;\n    /**\n     * Get the index of the current FrameNode's last child node which is on the tree.\n     * The child node sequence numbers are calculated based on all child nodes.\n     *\n     * @returns { number } - Returns the index of the current FrameNode's last child node which is on the tree.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    getLastChildIndexWithoutExpand(): number;\n    /**\n     * Get the first child of the current FrameNode.\n     *\n     * @returns {  FrameNode | null } - Returns a FrameNode, which is first child of the current FrameNode. If current FrameNode does not have child node, returns null.\n     * If current FrameNode does not have child node, returns null.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getFirstChild(): FrameNode | null;\n    /**\n     * Get the next sibling node of the current FrameNode.\n     *\n     * @returns { FrameNode | null } - Returns a FrameNode. If current FrameNode does not have next sibling node, returns null.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getNextSibling(): FrameNode | null;\n    /**\n     * Get the previous sibling node of the current FrameNode.\n     *\n     * @returns { FrameNode | null } - Returns a FrameNode. If current FrameNode does not have previous sibling node, returns null.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPreviousSibling(): FrameNode | null;\n    /**\n     * Get the parent node of the current FrameNode.\n     *\n     * @returns { FrameNode | null } - Returns a FrameNode. If current FrameNode does not have parent node, returns null.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getParent(): FrameNode | null;\n    /**\n     * Get the children count of the current FrameNode.\n     *\n     * @returns { number } - Returns the number of the children of the current FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getChildrenCount(): number;\n    /**\n     * Move node to the target Framenode as child.\n     * If this FrameNode is not modifiable, an exception is thrown.\n     * When targetParent is a typeNode, the API validates the type or number of child nodes.\n     * If the validation fails, an exception is thrown. For specific limitations, see typeNode.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br>Currently, only the following types of TypedFrameNode are supported for the movement operations: Stack, XComponent.\n     * </p>\n     *\n     * @param { FrameNode } targetParent - The target parent node.\n     * The target parent node must not be a declaratively created node, that is, a FrameNode that is not modifiable.\n     * If it does not meet the specifications, an exception is thrown.\n     * @param { number } index - The index which the node is moved to. If the value is a negative number or invalid,\n     * the node is moved to the end of the target parent node. Moves to the end of the target parent node by default.\n     * If the target FrameNode has n nodes, the value range for index is 0 to n-1.\n     * Default value: -1\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    moveTo(targetParent: FrameNode, index?: number): void;\n    /**\n     * Dispose the FrameNode immediately.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br>After the <em>dispose</em> API is called, the FrameNode object no longer corresponds to any entity FrameNode.\n     * <br>In this case, attempts to call certain query APIs, such as getMeasuredSize and getLayoutPosition,\n     * <br>will result in a JS crash in the application.\n     * <br>To check whether the current FrameNode object corresponds to an entity FrameNode, you can use getUniqueId API.\n     * <br>A <em>UniqueId</em> value greater than 0 indicates that the object is associated with an entity FrameNode.\n     * </p>\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    dispose(): void;\n    /**\n     * Get the position of the node relative to window, in vp.\n     *\n     * @returns { Position } - Returns position of the node relative to window, in vp.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPositionToWindow(): Position;\n    /**\n     * Get the position of the node relative to its parent, in vp.\n     *\n     * @returns { Position } - Returns position of the node relative to its parent, in vp.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPositionToParent(): Position;\n    /**\n     * Get the size of the FrameNode after measure, with unit PX.\n     *\n     * @returns { Size } - Returns the size of the FrameNode after measure, with unit PX.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getMeasuredSize(): Size;\n    /**\n     * Get the offset to the parent of the FrameNode after layout, with unit PX.\n     * The offset is the result of the parent component's layout on this node;\n     * therefore, the offset attribute that takes effect after layout and the position attribute that does not\n     * participate in layout do not affect this offset value.\n     *\n     * @returns { Position } - Returns the offset to the parent of the FrameNode after layout, with unit PX.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getLayoutPosition(): Position;\n    /**\n     * Get the user config border width of the FrameNode.\n     *\n     * @returns { Edges<LengthMetrics> } - Returns the user config border width of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getUserConfigBorderWidth(): Edges<LengthMetrics>;\n    /**\n     * Get the user config padding of the FrameNode.\n     *\n     * @returns { Edges<LengthMetrics> } - Returns the user config padding of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getUserConfigPadding(): Edges<LengthMetrics>;\n    /**\n     * Get the user config margin of the FrameNode.\n     *\n     * @returns { Edges<LengthMetrics> } - Returns the user config margin of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getUserConfigMargin(): Edges<LengthMetrics>;\n    /**\n     * Get the user config size of the FrameNode.\n     *\n     * @returns { SizeT<LengthMetrics> } - Returns the user config size of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getUserConfigSize(): SizeT<LengthMetrics>;\n    /**\n     * Get the id of the FrameNode.\n     *\n     * @returns { string } - Returns the id of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getId(): string;\n    /**\n     * Get the unique id of the FrameNode.\n     *\n     * @returns { number } - Returns the unique id of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getUniqueId(): number;\n    /**\n     * Get the type of the FrameNode. The type is the name of component, for example, the nodeType of Button is \"Button\",\n     * and the nodeType of custom  component is \"__Common__\".\n     *\n     * @returns { string } - Returns the type of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getNodeType(): string;\n    /**\n     * Get the opacity of the FrameNode.\n     * The minimum value is 0, and the maximum value is 1.\n     *\n     * @returns { number } - Returns the opacity of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getOpacity(): number;\n    /**\n     * Get if the FrameNode is visible.\n     *\n     * @returns { boolean } - Returns if the FrameNode is visible.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    isVisible(): boolean;\n    /**\n     * Get if the FrameNode is clip to frame.\n     * This API returns true after the dispose API is called to release the reference to the FrameNode.\n     *\n     * @returns { boolean } - Returns if the FrameNode is clip to frame.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    isClipToFrame(): boolean;\n    /**\n     * Get if the FrameNode is attached to the root node tree.\n     *\n     * @returns { boolean } - Returns if the FrameNode is attached to the root node tree.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    isAttached(): boolean;\n    /**\n     * Get if the node is disposed.\n     *\n     * @returns { boolean } - Returns true if the node is disposed, false otherwise.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    isDisposed(): boolean;\n    /**\n     * Get the inspector information of the FrameNode.\n     * Obtains the structure information of the node, which is consistent with what is found in DevEco Studio's built-in\n     * ArkUI Inspector tool.\n     *\n     * @returns { Object } - Returns the inspector information of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getInspectorInfo(): Object;\n    /**\n     * * Get the custom property of the component corresponding to this FrameNode.\n     *\n     * @param { string } name - the name of the custom property.\n     * @returns { Object | undefined } - Returns the value of the custom property.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getCustomProperty(name: string): Object | undefined;\n    /**\n     * Set commonEvent response to the current FrameNode.\n     * The set basic events will compete with declaratively defined events for event handling without overriding them.\n     * If two event callbacks are set at the same time, the callback for the declaratively defined event is prioritized.\n     * In scenarios involving LazyForEach, where nodes may be destroyed and reconstructed, you need to reset or re-attach\n     * event listeners to the newly created nodes to ensure they respond to events correctly.\n     *\n     * @returns { UICommonEvent } - Returns a Object inside the FrameNode, which is used to set callbacks about different events.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    get commonEvent(): UICommonEvent;\n    /**\n     * Get gestureEvent of the current FrameNode.\n     * Gesture events set using the gestureEvent API will not override gestures bound using the declarative gesture API.\n     * If both APIs are used to set gestures, the declarative API takes precedence.\n     *\n     * @returns { UIGestureEvent } - Returns a Object inside the FrameNode, which is used to set callbacks about different gesture events.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    get gestureEvent(): UIGestureEvent;\n    /**\n     * Get the CommonAttribute of the current FrameNode.\n     * Note that only the attributes of a custom node can be modified.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br>The visual representation of the FrameNode is similar to that of a Stack container that is aligned to the top start edge.\n     * <br>For details about the supported attributes, see CommonModifier.\n     * </p>\n     *\n     * @returns { CommonAttribute } - Returns the CommonAttribute which is used to modify the common attributes of the FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    get commonAttribute(): CommonAttribute;\n    /**\n     * Draw Method. Executed when the current FrameNode is rendering its content.\n     *\n     * @param { DrawContext } context - The DrawContext will be used when executed draw method.\n     * The self-drawing area cannot exceed the component's own size.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onDraw?(context: DrawContext): void;\n    /**\n     * Method to measure the FrameNode and its content to determine the measured size. Use this method to override the\n     * default measure method when measuring the FrameNode.\n     *\n     * @param { LayoutConstraint } constraint - The layout constraint of the node, will be used when executed measure\n     * method.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onMeasure(constraint: LayoutConstraint): void;\n    /**\n     * Method to assign a position to the FrameNode and each of its children. Use this method to override the\n     * default layout method.\n     * It can be used to specify how the FrameNode and its child nodes are positioned and sized within the layout.\n     *\n     * @param { Position } position - The position of the node, will be used when executed layout method.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onLayout(position: Position): void;\n    /**\n     * Set the size of the FrameNode after measure, with unit PX.\n     * If the configured width and height are negative numbers, the value is automatically set to 0.\n     *\n     * @param { Size } size - The size of the FrameNode after measure.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    setMeasuredSize(size: Size): void;\n    /**\n     * Set the position to the parent of the FrameNode after layout, with unit PX.\n     *\n     * @param { Position } position - The position to the parent of the FrameNode after layout.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    setLayoutPosition(position: Position): void;\n    /**\n     * This is called to find out how big the FrameNode should be. The parent node supplies constraint information. The\n     * actual measurement work of the FrameNode is performed in onMeasure or the default measure method.\n     *\n     * @param { LayoutConstraint } constraint - The layout constraint of the node, supplied by the parent node.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    measure(constraint: LayoutConstraint): void;\n    /**\n     * This is called to assign position to the FrameNode and all of its descendants. The position is used to init\n     * the position of the frameNode, and the actual layout work of FrameNode is performed in onLayout or the default\n     * layout method.\n     *\n     * @param { Position } position - The position of the node, will be used when executed the layout method.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    layout(position: Position): void;\n    /**\n     * Mark the frame node as need layout, so that it will be relaid out in the next frame.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    setNeedsLayout(): void;\n    /**\n     * Invalidate the RenderNode in the FrameNode, which will cause a re-render of the RenderNode.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    invalidate(): void;\n    /**\n     * Get the position of the node relative to screen, in vp.\n     *\n     * @returns { Position } - Returns position of the node relative to screen, in vp.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPositionToScreen(): Position;\n    /**\n     * Get the position of the node relative to window with transform, in vp.\n     *\n     * @returns { Position } - Returns position of the node relative to window with transform, in vp.\n     * If other drawing attributes (such as transform and translate) are set, the return value may slightly deviate\n     * due to the precision of floating point numbers.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPositionToWindowWithTransform(): Position;\n    /**\n     * Get the position of the node relative to its parent with transform, in vp.\n     * The coordinates returned are the coordinates of the upper left corner during layout after transformation.\n     *\n     * @returns { Position } - Returns position of the node relative to its parent with transform, in vp.\n     * If other drawing attributes (such as transform and translate) are set, the return value may slightly deviate\n     * due to the precision of floating point numbers.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPositionToParentWithTransform(): Position;\n    /**\n     * Get the position of the node relative to screen with transform, in vp.\n     * The coordinates returned are the coordinates of the upper left corner during layout after transformation.\n     *\n     * @returns { Position } - Returns position of the node relative to screen with transform, in vp.\n     * If other drawing attributes (such as transform and translate) are set, the return value may slightly deviate\n     * due to the precision of floating point numbers.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getPositionToScreenWithTransform(): Position;\n    /**\n     * Detach from parent and dispose all child recursively.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    disposeTree(): void;\n    /**\n     * Mount ComponentContent to FrameNode.\n     * The current node must be modifiable, which means the return value of isModifiable must be true.\n     * If the node is not modifiable, an exception is thrown.\n     *\n     * @param { ComponentContent<T> } content - Newly added ComponentContent.\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    addComponentContent<T>(content: ComponentContent<T>): void;\n    /**\n     * Set the cross-language options of the target FrameNode.\n     * This API allows you to specify whether a FrameNode created in ArkTS can be accessed or modified by non-ArkTS languages.\n     * If the current FrameNode is not modifiable or does not support setting cross-language access options, an exception will be thrown.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br>Currently, only Scroll type TypedFrameNode supports setting cross-language access options.\n     * </p>\n     *\n     * @param { CrossLanguageOptions } options - The cross-language options.\n     * @throws { BusinessError } 100022 - The FrameNode cannot be set whether to support cross-language common attribute setting.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    setCrossLanguageOptions(options: CrossLanguageOptions): void;\n    /**\n     * Get the cross-language options of the target FrameNode.\n     * This API allows you to check whether a FrameNode created in ArkTS can be accessed or modified by non-ArkTS languages.\n     *\n     * @returns { CrossLanguageOptions } - Returns the cross-language options of the target FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 15\n     */\n    getCrossLanguageOptions(): CrossLanguageOptions;\n    /**\n     * Recycle current FrameNode From JsFrameNode.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    recycle(): void;\n    /**\n     * Reuse current FrameNode From JsFrameNode.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    reuse(): void;\n    /**\n     * Gets event binding information of the target node.\n     *\n     * @param { EventQueryType } eventType - The interaction event type to be queried.\n     * @returns { InteractionEventBindingInfo | undefined }\n     *   - Returns one InteractionEventBindingInfo object indicating the event binding details if any interaction\n     *     events binded on current node, returns undefined if no one binded on.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 19\n     */\n    getInteractionEventBindingInfo(eventType: EventQueryType): InteractionEventBindingInfo | undefined;\n    /**\n     * Adds the polymorphic style states supported by the component. To handle states efficiently, specify the\n     * states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed.\n     *  - You can adjust the UI style based on the current state within the callback. If this API is called multiple\n     * times on the same node, the last set of states and handler will take precedence.\n     *  - Some component types have default system handling for certain states. For example, the <b>Button</b>\n     * component has a default style effect for the PRESSED state. When custom state handling is implemented on such\n     * components, the default style effect will be applied first, followed by the custom style changes, resulting in\n     * a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed\n     * by the system implementation.\n     *  - And when this API is called, the provided handler function will be executed immediately.\n     *  - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered,\n     * the system will automatically notify your application when the state changes back to NORMAL.\n     *\n     * @param { number } uiStates - The target UI state the node need to handle.\n     *     The combination of all target states can be calculated by the OR operation,\n     *     e.g. targetUIStates = UIState.PRESSED | UIState.FOCUSED.\n     * @param { UIStatesChangeHandler } statesChangeHandler - The UI state chhanging handling function.\n     * @param { boolean } excludeInner - The flag to forbid the inner default state style handling, default is false.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    addSupportedUIStates(uiStates: number, statesChangeHandler: UIStatesChangeHandler, excludeInner?: boolean): void;\n    /**\n     * Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b>\n     * are removed, the registered <b>stateChangeHandler</b> will no longer be executed.\n     *\n     * @param { number } uiStates - The target UI state the node need to remove from.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    removeSupportedUIStates(uiStates: number): void;\n    /**\n     * create property animation in FrameNode.\n     *\n     * @param { AnimationPropertyType } property - enumeration of property that produces the animation.\n     * @param { Optional<number[]> } startValue - start value of animation.\n     * Undefined means that the last final value is used as the starting value of the animation,\n     * and it is recommended to set undefined if the property already has a value.\n     * @param { number[] } endValue - end value of animation.\n     * @param { AnimateParam } param - param of animation.\n     * @returns { boolean } whether the createAnimation operation is successful. For example,\n     * if the array lengths of startValue and endValue do not match the data lengths required by type, creating animation fails.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    createAnimation(property: AnimationPropertyType, startValue: Optional<number[]>, endValue: number[], param: AnimateParam): boolean;\n    /**\n     * request to cancel all animations on specified properties. It blocks synchronously to wait for the cancellation result.\n     * If the cancellation is successful, the corresponding properties on the node are restored to the cancelled value.\n     *\n     * @param { AnimationPropertyType[] } properties - animation property types to cancel.\n     * @returns { boolean } whether the cancel operation is successful. For example,\n     * if ipc fails, canceling the animation fails.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    cancelAnimations(properties: AnimationPropertyType[]): boolean;\n    /**\n     * get property value from node.\n     *\n     * @param { AnimationPropertyType } property - animation property type to get value.\n     * @returns { number[] } - the property value on the node.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    getNodePropertyValue(property: AnimationPropertyType): number[];\n}\n/**\n * Used to define the FrameNode type.\n *\n * <p><strong>NOTE</strong>:\n * <br>The commonAttribute API is only effective on <em>CustomFrameNode</em>.\n * <br>For <em>TypedFrameNode</em>, the behavior of <em>commonAttribute</em> is undefined.\n * <br>For setting universal attributes, it is recommended that you use the attribute API,\n * <br>such as node.attribute.backgroundColor(Color.Pink), rather than commonAttribute.\n * </p>\n *\n * @extends FrameNode\n * @interface TypedFrameNode\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 12\n */\nexport interface TypedFrameNode<C, T> extends FrameNode {\n    /**\n     * Initialize FrameNode.\n     *\n     * @type { C }\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    initialize: C;\n    /**\n     * Get attribute instance of FrameNode to set attributes.\n     *\n     * @type { T }\n     * @readonly\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    readonly attribute: T;\n}\n/**\n * Provides methods to implement FrameNode.\n * When typeNode is used to create nodes such as Text, Image, Select, or Toggle, if the UIContext instance\n * corresponding to the passed UIContext is destroyed, calling this API will return an invalid FrameNode.\n * This invalid node cannot be properly mounted or displayed.\n *\n * @namespace typeNode\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 12\n */\nexport namespace typeNode {\n    /**\n     * Define the FrameNode type for Text.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>TextInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Text</em> component.\n     * <br><em>TextAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Text</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<TextInterface, TextAttribute> } Text\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Text = TypedFrameNode<TextInterface, TextAttribute>;\n    /**\n     * Create a FrameNode of Text type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Text' } nodeType - node type.\n     * @returns { Text } - Return Text type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Text'): Text;\n    /**\n     * Define the FrameNode type for Column.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ColumnInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Column</em> component.\n     * <br><em>ColumnAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Column</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ColumnInterface, ColumnAttribute> } Column\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Column = TypedFrameNode<ColumnInterface, ColumnAttribute>;\n    /**\n     * Create a FrameNode of Column type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Column' } nodeType - node type.\n     * @returns { Column } - Return Column type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Column'): Column;\n    /**\n     * Define the FrameNode type for Row.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>RowInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Row</em> component.\n     * <br><em>RowAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Row</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<RowInterface, RowAttribute> } Row\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Row = TypedFrameNode<RowInterface, RowAttribute>;\n    /**\n     * Create a FrameNode of Row type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Row' } nodeType - node type.\n     * @returns { Row } - Return Row type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Row'): Row;\n    /**\n     * Define the FrameNode type for Stack.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>StackInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Stack</em> component.\n     * <br><em>StackAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Stack</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<StackInterface, StackAttribute> } Stack\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Stack = TypedFrameNode<StackInterface, StackAttribute>;\n    /**\n     * Create a FrameNode of Stack type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Stack' } nodeType - node type.\n     * @returns { Stack } - Return Stack type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Stack'): Stack;\n    /**\n     * Define the FrameNode type for GridRow.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>GridRowInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>GridRow</em> component.\n     * <br><em>GridRowAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>GridRow</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<GridRowInterface, GridRowAttribute> } GridRow\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type GridRow = TypedFrameNode<GridRowInterface, GridRowAttribute>;\n    /**\n     * Create a FrameNode of GridRow type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'GridRow' } nodeType - node type.\n     * @returns { GridRow } - Return GridRow type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'GridRow'): GridRow;\n    /**\n     * Define the FrameNode type for GridCol.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>GridColInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>GridCol</em> component.\n     * <br><em>GridColAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>GridCol</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<GridColInterface, GridColAttribute> } GridCol\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type GridCol = TypedFrameNode<GridColInterface, GridColAttribute>;\n    /**\n     * Create a FrameNode of GridCol type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'GridCol' } nodeType - node type.\n     * @returns { GridCol } - Return GridCol type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'GridCol'): GridCol;\n    /**\n     * Define the FrameNode type for Flex.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>FlexInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Flex</em> component.\n     * <br><em>FlexAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Flex</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<FlexInterface, FlexAttribute> } Flex\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Flex = TypedFrameNode<FlexInterface, FlexAttribute>;\n    /**\n     * Create a FrameNode of Flex type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Flex' } nodeType - node type.\n     * @returns { Flex } - Return Flex type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Flex'): Flex;\n    /**\n     * Define the FrameNode type for Swiper.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>SwiperInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Swiper</em> component.\n     * <br><em>SwiperAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Swiper</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<SwiperInterface, SwiperAttribute> } Swiper\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Swiper = TypedFrameNode<SwiperInterface, SwiperAttribute>;\n    /**\n     * Create a FrameNode of Swiper type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Swiper' } nodeType - node type.\n     * @returns { Swiper } - Return Swiper type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Swiper'): Swiper;\n    /**\n     * Define the FrameNode type for Progress.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ProgressInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Progress</em> component.\n     * <br><em>ProgressAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Progress</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ProgressInterface, ProgressAttribute> } Progress\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Progress = TypedFrameNode<ProgressInterface, ProgressAttribute>;\n    /**\n     * Create a FrameNode of Progress type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Progress' } nodeType - node type.\n     * @returns { Progress } - Return Progress type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Progress'): Progress;\n    /**\n     * Define the FrameNode type for Scroll.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ScrollInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Scroll</em> component.\n     * <br><em>ScrollAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Scroll</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ScrollInterface, ScrollAttribute> } Scroll\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Scroll = TypedFrameNode<ScrollInterface, ScrollAttribute>;\n    /**\n     * Create a FrameNode of Scroll type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Scroll' } nodeType - node type.\n     * @returns { Scroll } - Return Scroll type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Scroll'): Scroll;\n    /**\n     * Get the attribute instance of FrameNode to set attributes.\n     * If the node is not created using ArkTS, cross-language access must be enabled; otherwise, undefined is returned.\n     * This API does not support declaratively created nodes.\n     *\n     * @param { FrameNode } node - the target FrameNode.\n     * @param { 'Scroll' } nodeType - node type.\n     * @returns { ScrollAttribute | undefined } - Return the attribute instance of FrameNode, and return undefined if it\n     * does not exist.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 15\n     */\n    function getAttribute(node: FrameNode, nodeType: 'Scroll'): ScrollAttribute | undefined;\n    /**\n     * Get the event instance of Scroll node.\n     *\n     * @param { FrameNode } node - the target FrameNode.\n     * @param { 'Scroll' } nodeType - node type.\n     * @returns { UIScrollEvent | undefined } - Return the event instance of FrameNode, and return undefined if it\n     * does not exist.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 19\n     */\n    function getEvent(node: FrameNode, nodeType: 'Scroll'): UIScrollEvent | undefined;\n    /**\n     * Bind the controller of FrameNode.\n     * If the node is not created using ArkTS, cross-language access must be enabled; otherwise, an exception is returned.\n     * This API does not support declaratively created nodes.\n     *\n     * @param { FrameNode } node - the target FrameNode.\n     * @param { Scroller } controller - the controller which is bind to the target FrameNode.\n     * @param { 'Scroll' } nodeType - node type.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. the type of the node is error.\n     * 2. the node is null or undefined.\n     * @throws { BusinessError } 100021 - The FrameNode is not modifiable.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 15\n     */\n    function bindController(node: FrameNode, controller: Scroller, nodeType: 'Scroll'): void;\n    /**\n     * Define the FrameNode type for RelativeContainer.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>RelativeContainerInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>RelativeContainer</em> component.\n     * <br><em>RelativeContainerAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>RelativeContainer</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<RelativeContainerInterface, RelativeContainerAttribute> } RelativeContainer\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type RelativeContainer = TypedFrameNode<RelativeContainerInterface, RelativeContainerAttribute>;\n    /**\n     * Create a FrameNode of RelativeContainer type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'RelativeContainer' } nodeType - node type.\n     * @returns { RelativeContainer } - Return RelativeContainer type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'RelativeContainer'): RelativeContainer;\n    /**\n     * Define the FrameNode type for Divider.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>DividerInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Divider</em> component.\n     * <br><em>DividerAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Divider</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<DividerInterface, DividerAttribute> } Divider\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Divider = TypedFrameNode<DividerInterface, DividerAttribute>;\n    /**\n     * Create a FrameNode of Divider type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Divider' } nodeType - node type.\n     * @returns { Divider } - Return Divider type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Divider'): Divider;\n    /**\n     * Define the FrameNode type for LoadingProgress.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>LoadingProgressInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>LoadingProgress</em> component.\n     * <br><em>LoadingProgressAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>LoadingProgress</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<LoadingProgressInterface, LoadingProgressAttribute> } LoadingProgress\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type LoadingProgress = TypedFrameNode<LoadingProgressInterface, LoadingProgressAttribute>;\n    /**\n     * Create a FrameNode of LoadingProgress type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'LoadingProgress' } nodeType - node type.\n     * @returns { LoadingProgress } - Return LoadingProgress type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'LoadingProgress'): LoadingProgress;\n    /**\n     * Define the FrameNode type for Search.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>SearchInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Search</em> component.\n     * <br><em>SearchAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Search</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<SearchInterface, SearchAttribute> } Search\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Search = TypedFrameNode<SearchInterface, SearchAttribute>;\n    /**\n     * Create a FrameNode of Search type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Search' } nodeType - node type.\n     * @returns { Search } - Return Search type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Search'): Search;\n    /**\n     * Define the FrameNode type for Blank.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>BlankInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Blank</em> component.\n     * <br><em>BlankAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Blank</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<BlankInterface, BlankAttribute> } Blank\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Blank = TypedFrameNode<BlankInterface, BlankAttribute>;\n    /**\n     * Create a FrameNode of Blank type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Blank' } nodeType - node type.\n     * @returns { Blank } - Return Blank type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Blank'): Blank;\n    /**\n     * Define the FrameNode type for Image.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ImageInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Image</em> component.\n     * <br><em>ImageAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Image</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ImageInterface, ImageAttribute> } Image\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Image = TypedFrameNode<ImageInterface, ImageAttribute>;\n    /**\n     * Create a FrameNode of Image type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Image' } nodeType - node type.\n     * @returns { Image } - Return Image type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Image'): Image;\n    /**\n     * Define the FrameNode type for List.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ListInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>List</em> component.\n     * <br><em>ListAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>List</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ListInterface, ListAttribute> } List\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type List = TypedFrameNode<ListInterface, ListAttribute>;\n    /**\n     * Create a FrameNode of List type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'List' } nodeType - node type.\n     * @returns { List } - Return List type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'List'): List;\n    /**\n     * Define the FrameNode type for ListItem.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ListItemInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>ListItem</em> component.\n     * <br><em>ListItemAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>ListItem</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ListItemInterface, ListItemAttribute> } ListItem\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type ListItem = TypedFrameNode<ListItemInterface, ListItemAttribute>;\n    /**\n     * Get the event instance of Scroll node.\n     *\n     * @param { FrameNode } node - the target FrameNode.\n     * @param { 'List' } nodeType - node type.\n     * @returns { UIListEvent | undefined } - Return the event instance of FrameNode, and return undefined if it\n     * does not exist.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 19\n     */\n    function getEvent(node: FrameNode, nodeType: 'List'): UIListEvent | undefined;\n    /**\n     * Create a FrameNode of ListItem type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'ListItem' } nodeType - node type.\n     * @returns { ListItem } - Return ListItem type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'ListItem'): ListItem;\n    /**\n     * Define the FrameNode type for TextInput.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>TextInputInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>TextInput</em> component.\n     * <br><em>TextInputAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>TextInput</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<TextInputInterface, TextInputAttribute> } TextInput\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type TextInput = TypedFrameNode<TextInputInterface, TextInputAttribute>;\n    /**\n     * Create a FrameNode of TextInput type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'TextInput' } nodeType - node type.\n     * @returns { TextInput } - Return TextInput type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'TextInput'): TextInput;\n    /**\n     * Define the FrameNode type for Button.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ButtonInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Button</em> component.\n     * <br><em>ButtonAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Button</em> component.\n     * <br>If a value is specified for the label parameter, a Button component is created in label mode.\n     * This component cannot contain child components, and any attempt to set child components will result in an exception.\n     * The mode in which the Button component is created cannot be dynamically modified in subsequent initialize calls.\n     * As such, to include child components, do not set the label parameter during the first initialize call.\n     * When created in child component mode, a Button component can contain a single child component.\n     * Any attempt to set multiple child components will result in an exception.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ButtonInterface, ButtonAttribute> } Button\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type Button = TypedFrameNode<ButtonInterface, ButtonAttribute>;\n    /**\n     * Create a FrameNode of Button type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Button' } nodeType - node type.\n     * @returns { Button } - Return Button type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'Button'): Button;\n    /**\n     * Define the FrameNode type for ListItemGroup.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ListItemGroupInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>ListItemGroup</em> component.\n     * <br><em>ListItemGroupAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>ListItemGroup</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ListItemGroupInterface, ListItemGroupAttribute> } ListItemGroup\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type ListItemGroup = TypedFrameNode<ListItemGroupInterface, ListItemGroupAttribute>;\n    /**\n     * Create a FrameNode of ListItemGroup type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'ListItemGroup' } nodeType - node type.\n     * @returns { ListItemGroup } - Return ListItemGroup type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'ListItemGroup'): ListItemGroup;\n    /**\n     * Define the FrameNode type for WaterFlow.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>WaterFlowInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>WaterFlow</em> component.\n     * <br><em>WaterFlowAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>WaterFlow</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<WaterFlowInterface, WaterFlowAttribute> } WaterFlow\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type WaterFlow = TypedFrameNode<WaterFlowInterface, WaterFlowAttribute>;\n    /**\n     * Create a FrameNode of WaterFlow type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'WaterFlow' } nodeType - node type.\n     * @returns { WaterFlow } - Return WaterFlow type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'WaterFlow'): WaterFlow;\n    /**\n     * Get the event instance of Scroll node.\n     *\n     * @param { FrameNode } node - the target FrameNode.\n     * @param { 'WaterFlow' } nodeType - node type.\n     * @returns { UIWaterFlowEvent | undefined } - Return the event instance of FrameNode, and return undefined if it\n     * does not exist.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 19\n     */\n    function getEvent(node: FrameNode, nodeType: 'WaterFlow'): UIWaterFlowEvent | undefined;\n    /**\n     * Define the FrameNode type for FlowItem.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>FlowItemInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>FlowItem</em> component.\n     * <br><em>FlowItemAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>FlowItem</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<FlowItemInterface, FlowItemAttribute> } FlowItem\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type FlowItem = TypedFrameNode<FlowItemInterface, FlowItemAttribute>;\n    /**\n     * Create a FrameNode of FlowItem type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'FlowItem' } nodeType - node type.\n     * @returns { FlowItem } - Return FlowItem type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'FlowItem'): FlowItem;\n    /**\n     * Define the FrameNode type for XComponent.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>XComponentInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>XComponent</em> component.\n     * <br><em>XComponentAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>XComponent</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<XComponentInterface, XComponentAttribute> } XComponent\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type XComponent = TypedFrameNode<XComponentInterface, XComponentAttribute>;\n    /**\n     * Create a FrameNode of XComponent type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'XComponent' } nodeType - node type.\n     * @returns { XComponent } - Return XComponent type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'XComponent'): XComponent;\n    /**\n     * Create a FrameNode of XComponent type with options.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'XComponent' } nodeType - node type.\n     * @param { XComponentOptions } options - initialization parameters.\n     * @returns { XComponent } - Return XComponent type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 12\n     */\n    function createNode(context: UIContext, nodeType: 'XComponent', options: XComponentOptions): XComponent;\n    /**\n     * Create a FrameNode of XComponent type with options for native developing.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'XComponent' } nodeType - node type.\n     * @param { NativeXComponentParameters } parameters - initialization parameters.\n     * @returns { XComponent } - Return XComponent type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 19\n     */\n    function createNode(context: UIContext, nodeType: 'XComponent', parameters: NativeXComponentParameters): XComponent;\n    /**\n     * Define the FrameNode type for Checkbox.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>CheckboxInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Checkbox</em> component.\n     * <br><em>CheckboxAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Checkbox</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<CheckboxInterface, CheckboxAttribute> } Checkbox\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type Checkbox = TypedFrameNode<CheckboxInterface, CheckboxAttribute>;\n    /**\n     * Create a FrameNode of Checkbox type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Checkbox' } nodeType - node type.\n     * @returns { Checkbox } - Return Checkbox type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'Checkbox'): Checkbox;\n    /**\n     * Define the FrameNode type for CheckboxGroup.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>CheckboxGroupInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>CheckboxGroup</em> component.\n     * <br><em>CheckboxGroupAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>CheckboxGroup</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<CheckboxGroupInterface, CheckboxGroupAttribute> } CheckboxGroup\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type CheckboxGroup = TypedFrameNode<CheckboxGroupInterface, CheckboxGroupAttribute>;\n    /**\n     * Create a FrameNode of CheckboxGroup type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'CheckboxGroup' } nodeType - node type.\n     * @returns { CheckboxGroup } - Return CheckboxGroup type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'CheckboxGroup'): CheckboxGroup;\n    /**\n     * Define the FrameNode type for Radio.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>RadioInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Radio</em> component.\n     * <br><em>RadioAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Radio</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<RadioInterface, RadioAttribute> } Radio\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type Radio = TypedFrameNode<RadioInterface, RadioAttribute>;\n    /**\n     * Create a FrameNode of Radio type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Radio' } nodeType - node type.\n     * @returns { Radio } - Return Radio type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'Radio'): Radio;\n    /**\n     * Define the FrameNode type for Rating.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>RatingInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Rating</em> component.\n     * <br><em>RatingAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Rating</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<RatingInterface, RatingAttribute> } Rating\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type Rating = TypedFrameNode<RatingInterface, RatingAttribute>;\n    /**\n     * Create a FrameNode of Rating type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Rating' } nodeType - node type.\n     * @returns { Rating } - Return Rating type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'Rating'): Rating;\n    /**\n     * Define the FrameNode type for Select.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>SelectInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Select</em> component.\n     * <br><em>SelectAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Select</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<SelectInterface, SelectAttribute> } Select\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type Select = TypedFrameNode<SelectInterface, SelectAttribute>;\n    /**\n     * Create a FrameNode of Select type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Select' } nodeType - node type.\n     * @returns { Select } - Return Select type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'Select'): Select;\n    /**\n     * Define the FrameNode type for Slider.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>SliderInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Slider</em> component.\n     * <br><em>SliderAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Slider</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<SliderInterface, SliderAttribute> } Slider\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type Slider = TypedFrameNode<SliderInterface, SliderAttribute>;\n    /**\n     * Create a FrameNode of Slider type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Slider' } nodeType - node type.\n     * @returns { Slider } - Return Slider type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'Slider'): Slider;\n    /**\n     * Define the FrameNode type for Toggle.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>ToggleInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Toggle</em> component.\n     * <br><em>ToggleAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Toggle</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<ToggleInterface, ToggleAttribute> } Toggle\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 18\n     */\n    type Toggle = TypedFrameNode<ToggleInterface, ToggleAttribute>;\n    /**\n     * Create a FrameNode of Toggle type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Toggle' } nodeType - node type.\n     * @param { ToggleOptions } options - ToggleOptions.\n     * @returns { Toggle } - Return Toggle type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 18\n     */\n    function createNode(context: UIContext, nodeType: 'Toggle', options?: ToggleOptions): Toggle;\n    /**\n     * Define the FrameNode type for Marquee.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>MarqueeInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Marquee</em> component.\n     * <br><em>MarqueeAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Marquee</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<MarqueeInterface, MarqueeAttribute> } Marquee\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type Marquee = TypedFrameNode<MarqueeInterface, MarqueeAttribute>;\n    /**\n     * Create a FrameNode of Marquee type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Marquee' } nodeType - node type.\n     * @returns { Marquee } - Return Marquee type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'Marquee'): Marquee;\n    /**\n     * Define the FrameNode type for TextArea.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>TextAreaInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>TextArea</em> component.\n     * <br><em>TextAreaAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>TextArea</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<TextAreaInterface, TextAreaAttribute> } TextArea\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type TextArea = TypedFrameNode<TextAreaInterface, TextAreaAttribute>;\n    /**\n     * Create a FrameNode of TextArea type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'TextArea' } nodeType - node type.\n     * @returns { TextArea } - Return TextArea type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'TextArea'): TextArea;\n    /**\n     * Define the FrameNode type for SymbolGlyph.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>SymbolGlyphInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>SymbolGlyph</em> component.\n     * <br><em>SymbolGlyphAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>SymbolGlyph</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<SymbolGlyphInterface, SymbolGlyphAttribute> } SymbolGlyph\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type SymbolGlyph = TypedFrameNode<SymbolGlyphInterface, SymbolGlyphAttribute>;\n    /**\n     * Create a FrameNode of SymbolGlyph type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'SymbolGlyph' } nodeType - node type.\n     * @returns { SymbolGlyph } - Return SymbolGlyph type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'SymbolGlyph'): SymbolGlyph;\n    /**\n     * Define the FrameNode type for QRCode.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>QRCodeInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>QRCode</em> component.\n     * <br><em>QRCodeAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>QRCode</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<QRCodeInterface, QRCodeAttribute> } QRCode\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type QRCode = TypedFrameNode<QRCodeInterface, QRCodeAttribute>;\n    /**\n     * Create a FrameNode of QRCode type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'QRCode' } nodeType - node type.\n     * @returns { QRCode } - Return QRCode type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'QRCode'): QRCode;\n    /**\n     * Define the FrameNode type for Badge.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>BadgeInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Badge</em> component.\n     * <br><em>BadgeAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Badge</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<BadgeInterface, BadgeAttribute> } Badge\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type Badge = TypedFrameNode<BadgeInterface, BadgeAttribute>;\n    /**\n     * Create a FrameNode of Badge type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Badge' } nodeType - node type.\n     * @returns { Badge } - Return Badge type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'Badge'): Badge;\n    /**\n     * Define the FrameNode type for TextClock.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>TextClockInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>TextClock</em> component.\n     * <br><em>TextClockAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>TextClock</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<TextClockInterface, TextClockAttribute> } TextClock\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type TextClock = TypedFrameNode<TextClockInterface, TextClockAttribute>;\n    /**\n     * Create a FrameNode of TextClock type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'TextClock' } nodeType - node type.\n     * @returns { TextClock } - Return TextClock type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'TextClock'): TextClock;\n    /**\n     * Define the FrameNode type for TextTimer.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>TextTimerInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>TextTimer</em> component.\n     * <br><em>TextTimerAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>TextTimer</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<TextTimerInterface, TextTimerAttribute> } TextTimer\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type TextTimer = TypedFrameNode<TextTimerInterface, TextTimerAttribute>;\n    /**\n     * Create a FrameNode of TextTimer type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'TextTimer' } nodeType - node type.\n     * @returns { TextTimer } - Return TextTimer type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'TextTimer'): TextTimer;\n    /**\n     * Define the FrameNode type for Grid.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>GridInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>Grid</em> component.\n     * <br><em>GridAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>Grid</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<GridInterface, GridAttribute> } Grid\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type Grid = TypedFrameNode<GridInterface, GridAttribute>;\n    /**\n     * Create a FrameNode of Grid type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'Grid' } nodeType - node type.\n     * @returns { Grid } - Return Grid type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'Grid'): Grid;\n    /**\n     * Get the event instance of Scroll node.\n     *\n     * @param { FrameNode } node - the target FrameNode.\n     * @param { 'Grid' } nodeType - node type.\n     * @returns { UIGridEvent | undefined } - Return the event instance of FrameNode, and return undefined if it\n     * does not exist.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 19\n     */\n    function getEvent(node: FrameNode, nodeType: 'Grid'): UIGridEvent | undefined;\n    /**\n     * Define the FrameNode type for GridItem.\n     *\n     * <p><strong>NOTE</strong>:\n     * <br><em>GridItemInterface</em> is used as the input parameter of the initialize API of TypedFrameNode.\n     * <br>The input parameter is of the constructor type for the <em>GridItem</em> component.\n     * <br><em>GridItemAttribute</em> is used as the return value of the attribute API of <em>TypedFrameNode</em>.\n     * <br>It returns the attribute setting object of the <em>GridItem</em> component.\n     * </p>\n     *\n     * @typedef { TypedFrameNode<GridItemInterface, GridItemAttribute> } GridItem\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 14\n     */\n    type GridItem = TypedFrameNode<GridItemInterface, GridItemAttribute>;\n    /**\n     * Create a FrameNode of GridItem type.\n     *\n     * @param { UIContext } context - uiContext used to create the FrameNode.\n     * @param { 'GridItem' } nodeType - node type.\n     * @returns { GridItem } - Return GridItem type FrameNode.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @atomicservice\n     * @since 14\n     */\n    function createNode(context: UIContext, nodeType: 'GridItem'): GridItem;\n}\n/**\n * Used for lazy loading of typeNode.\n *\n * <p><strong>NOTE</strong>:\n * The input parameter cannot be a negative number; otherwise, no processing is performed.\n * </p>\n *\n * @syscap SystemCapability.ArkUI.ArkUI.Full\n * @crossplatform\n * @atomicservice\n * @since 12\n */\ndeclare class NodeAdapter {\n    /**\n     * Constructor.\n     * A constructor used to create a NodeAdapter object.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    constructor();\n    /**\n     * Dispose the NodeAdapter immediately.\n     * Bindings, if any, of the object will be cleared before the object is disposed of.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    dispose(): void;\n    /**\n     * Set the total number of node count.\n     *\n     * @param { number } count - The total number of node count.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    set totalNodeCount(count: number);\n    /**\n     * Get the total number of node count.\n     *\n     * @returns { number } - Return the total number of node count.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    get totalNodeCount(): number;\n    /**\n     * Define the operation of reloading all data.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    reloadAllItems(): void;\n    /**\n     * Define the data reload operation.Reload a specified amount of data starting from the index value.\n     *\n     * @param { number } start - Start loading index values for data.\n     * @param { number } count - Load the number of data.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    reloadItem(start: number, count: number): void;\n    /**\n     * Define data deletion operations.Delete a specified amount of data starting from the index value.\n     *\n     * @param { number } start - Start deleting index values for data.\n     * @param { number } count - Delete the number of data.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    removeItem(start: number, count: number): void;\n    /**\n     * Define data insertion operations.Insert a specified amount of data starting from the index value.\n     *\n     * @param { number } start - Start Insert index values for data.\n     * @param { number } count - Insert the number of data.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    insertItem(start: number, count: number): void;\n    /**\n     * Define data movement operations. Move data from the starting index to the ending index.\n     *\n     * @param { number } from - Starting index value.\n     * @param { number } to - End index value.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    moveItem(from: number, to: number): void;\n    /**\n     * Obtain all data results.\n     *\n     * @returns { Array<FrameNode> } - Return all valid FrameNode collections.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    getAllAvailableItems(): Array<FrameNode>;\n    /**\n     * This callback will be triggered when a FrameNode is bound.\n     *\n     * @param { FrameNode } target - The bound FrameNode node.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onAttachToNode?(target: FrameNode): void;\n    /**\n     * This callback will be triggered when the binding is released.\n     *\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onDetachFromNode?(): void;\n    /**\n     * Call this callback when loading for the first time or when a new node slides in.Used to generate custom IDs, developers need to ensure the uniqueness of the IDs themselves.\n     *\n     * @param { number } index - Load the index value of the data.\n     * @returns { number } - Returning the developer's custom ID requires the developer to ensure its uniqueness.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onGetChildId?(index: number): number;\n    /**\n     * Call this callback when loading for the first time or when a new node slides in.\n     *\n     * @param { number } index - Load the index value of the data.\n     * @returns { FrameNode } - Returns the FrameNode node that loads the node.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onCreateChild?(index: number): FrameNode;\n    /**\n     * Called when the child node is about to be destroyed.\n     *\n     * @param { number } id - The child node ID that is about to be destroyed.\n     * @param { FrameNode } node - The FrameNode node that is about to be destroyed.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onDisposeChild?(id: number, node: FrameNode): void;\n    /**\n     * Call this callback when reloading or reusing.\n     *\n     * @param { number } id - The index value of the reloaded data.\n     * @param { FrameNode } node - Reused FrameNode nodes.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    onUpdateChild?(id: number, node: FrameNode): void;\n    /**\n     * Add a NodeAdapter to bind to the node.A node can only be bound to one NodeAdapter. Binding failure returns false.\n     *\n     * @param { NodeAdapter } adapter - Define lazy loading classes.\n     * @param { FrameNode } node - The bound FrameNode node.\n     * @returns { boolean } Return the binding result.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    static attachNodeAdapter(adapter: NodeAdapter, node: FrameNode): boolean;\n    /**\n     * Remove the bound NodeAdapter from the node.A node can only be bound to one NodeAdapter.\n     *\n     * @param { FrameNode } node - Unbind the FrameNode node.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    static detachNodeAdapter(node: FrameNode): void;\n    /**\n     * Get if the node is disposed.\n     *\n     * @returns { boolean } - Returns true if the node is disposed, false otherwise.\n     * @syscap SystemCapability.ArkUI.ArkUI.Full\n     * @crossplatform\n     * @atomicservice\n     * @since 20\n     */\n    isDisposed(): boolean;\n}\n",
}
export default FILE;